package net.zoneland.knowledge.service.bean;

import net.zoneland.knowledge.enums.WorkStatusEnum;

/**
 * 工单查询参数对象.
 * @author zmq
 * @Date 2022/8/11 10:15
 */
public class WorkApplyQueryVO {
    /**
     * 默认分页参数.
     */
    public static final int DEFAULT_PAGE_SIZE = 10;
    /**
     * 状态.
     */
    private WorkStatusEnum status;
    /**
     * 当前页.
     */
    private Integer page;
    /**
     * 每页记录数.
     */
    private Integer pageSize;
    /**
     * 创建用户uid.
     */
    private String creatorUid;
    /**
     * 当前用户uid.
     */
    private String userId;

    /**
     * 排序字段.
     */
    private String orderField;

    /**
     * 排序方式.
     */
    private String orderType;

    /**
     * 排除草稿状态.
     */
    private Boolean excludeDraft;

    /**
     * 审批人uid.
     */
    private String approveUid;

    /**
     * 工单标题.
     */
    private String applyTitle;

    /**
     * 工单状态
     */
    private String workType;

    public String getWorkType() {
        return workType;
    }

    public void setWorkType(String workType) {
        this.workType = workType;
    }

    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getCreatorUid() {
        return creatorUid;
    }
    /**
     * 设置 属性值.
     * @param creatorUid 属性值
     */
    public void setCreatorUid(final String creatorUid) {
        this.creatorUid = creatorUid;
    }

    /**
     * 获取 属性值.
     * @return 属性值
     */
    public WorkStatusEnum getStatus() {
        return status;
    }

    /**
     * 设置 属性值.
     * @param status 属性值
     */
    public void setStatus(final WorkStatusEnum status) {
        this.status = status;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public Integer getPage() {
        return page;
    }
    /**
     * 设置 属性值.
     * @param page 属性值
     */
    public void setPage(final Integer page) {
        this.page = page;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public Integer getPageSize() {
        return pageSize;
    }
    /**
     * 设置 属性值.
     * @param pageSize 属性值
     */
    public void setPageSize(final Integer pageSize) {
        this.pageSize = pageSize;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getUserId() {
        return userId;
    }
    /**
     * 设置 属性值.
     * @param userId 属性值
     */
    public void setUserId(final String userId) {
        this.userId = userId;
    }

    /**
     * 获取 orderField.
     *
     * @return orderField
     */
    public String getOrderField() {

        return orderField;
    }

    /**
     * 设置 orderField.
     *
     * @param orderField orderField
     */
    public void setOrderField(final String orderField) {

        this.orderField = orderField;
    }

    /**
     * 获取 orderType.
     *
     * @return orderType
     */
    public String getOrderType() {

        return orderType;
    }

    /**
     * 设置 orderType.
     *
     * @param orderType orderType
     */
    public void setOrderType(final String orderType) {

        this.orderType = orderType;
    }

    /**
     * 获取 excludeDraft.
     *
     * @return excludeDraft
     */
    public Boolean getExcludeDraft() {

        return excludeDraft;
    }

    /**
     * 设置 excludeDraft.
     *
     * @param excludeDraft excludeDraft
     */
    public void setExcludeDraft(final Boolean excludeDraft) {

        this.excludeDraft = excludeDraft;
    }

    /**
     * 获取 approveUid.
     *
     * @return approveUid
     */
    public String getApproveUid() {

        return approveUid;
    }

    /**
     * 设置 approveUid.
     *
     * @param approveUid approveUid
     */
    public void setApproveUid(final String approveUid) {

        this.approveUid = approveUid;
    }

    /**
     * 获取 applyTitle.
     *
     * @return applyTitle
     */
    public String getApplyTitle() {
        return applyTitle;
    }

    /**
     * 设置 applyTitle.
     *
     * @param applyTitle applyTitle
     */
    public void setApplyTitle(final String applyTitle) {
        this.applyTitle = applyTitle;
    }

    @Override
    public String toString() {
        return "WorkApplyQueryVO{"
            + "status=" + status
            + ", page=" + page
            + ", pageSize=" + pageSize
            + ", userId='" + userId + '\''
            + ", creatorUid='" + creatorUid + '\''
            + '}';
    }
}
